// 管理员初始化云函数 - 用于创建默认管理员账号
exports.main = async (event, context) => {
  try {
    const db = uniCloud.database();
    const adminCollection = db.collection('admin');
    
    // 检查是否已有管理员账号
    const adminList = await adminCollection.get();
    
    if (adminList.data && adminList.data.length > 0) {
      return {
        code: 400,
        message: '管理员账号已存在'
      };
    }
    
    // 创建默认管理员账号
    // 注意：实际项目中密码应该加密存储，这里为了演示使用明文
    const defaultAdmin = {
      username: 'admin',
      password: 'admin123', // 实际项目中应该使用bcrypt等加密
      role: 'superadmin',
      createTime: new Date(),
      lastLoginTime: null,
      status: 'active'
    };
    
    const result = await adminCollection.add(defaultAdmin);
    
    if (!result || !result.id) {
      throw new Error('创建管理员账号失败');
    }
    
    return {
      code: 0,
      message: '管理员账号初始化成功',
      data: {
        ...defaultAdmin,
        _id: result.id,
        password: '已隐藏' // 不返回密码
      }
    };
    
  } catch (error) {
    console.error('初始化管理员账号失败:', error);
    return {
      code: 500,
      message: '初始化失败，请稍后重试'
    };
  }
};